package utils

// 常量定义
const (
	FormatTime            = "15:04:05"                //时间格式
	FormatDate            = "2006-01-02"              //日期格式
	FormatDateCN          = "2006年01月02日"             //日期格式（中文）
	FormatDateUnSpace     = "20060102"                //日期格式
	FormatDateTime        = "2006-01-02 15:04:05"     //完整时间格式
	HlbFormatDateTime     = "2006-01-02_15:04:05.999" //完整时间格式
	FormatDateTimeUnSpace = "20060102150405"          //完整时间格式
	FormatDateDefault     = "2006-01-02T15:04:05+08:00"
	PageSize15            = 15 //列表页每页数据量
	PageSize5             = 5
	PageSize10            = 10
	PageSize20            = 20
	PageSize30            = 30
)

// 手机号，电子邮箱正则
const (
	RegularMobile = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0-9])|(17[0-9])|(16[0-9])|(19[0-9]))\\d{8}$" //手机号码
	RegularEmail  = `\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*`                                             //匹配电子邮箱
)

const (
	APPNAME = "ETA桥接服务"
)

const (
	CACHE_CRM_AUTH_CODE_PREFIX = "hz_crm_eta:crm_auth_code_" // 免密登录Code-CRM
	CACHE_ETA_AUTH_CODE_PREFIX = "hz_crm_eta:eta_auth_code_" // 免密登录Code-ETA
	CACHE_EDB_SMM_SERVER_TOKEN = "edb:smm_server_token"      //smm调用凭证
)

// 管理员，ficc管理员，ficc销售，权益管理员，权益销售。
// 角色类型/类型编码
const (
	ROLE_TYPE_ADMIN       = "管理员"
	ROLE_TYPE_FICC_ADMIN  = "ficc管理员"
	ROLE_TYPE_FICC_SELLER = "ficc销售"
	ROLE_TYPE_RAI_ADMIN   = "权益管理员"
	ROLE_TYPE_RAI_SELLER  = "权益销售"

	ROLE_TYPE_FICC_GROUP      = "ficc销售组长"
	ROLE_TYPE_FICC_MANAGER    = "ficc销售主管"
	ROLE_TYPE_RAI_GROUP       = "权益组长"
	ROLE_TYPE_FICC_DEPARTMENT = "ficc部门经理"
	ROLE_TYPE_RAI_DEPARTMENT  = "权益部门经理"
	ROLE_TYPE_FICC_RESEARCHR  = "ficc研究员"
	ROLE_TYPE_RAI_RESEARCHR   = "权益研究员"
	ROLE_NAME_FICC_DIRECTOR   = "ficc销售经理" // 实际角色类型为ficc销售主管

	ROLE_TYPE_CODE_ADMIN           = "admin"           //管理员
	ROLE_TYPE_CODE_FICC_ADMIN      = "ficc_admin"      //ficc管理员
	ROLE_TYPE_CODE_FICC_SELLER     = "ficc_seller"     //ficc销售
	ROLE_TYPE_CODE_RAI_ADMIN       = "rai_admin"       //权益管理员
	ROLE_TYPE_CODE_RAI_SELLER      = "rai_seller"      //权益销售
	ROLE_TYPE_CODE_FICC_GROUP      = "ficc_group"      //ficc销售主管
	ROLE_TYPE_CODE_RAI_GROUP       = "rai_group"       //ficc组长
	ROLE_TYPE_CODE_FICC_DEPARTMENT = "ficc_department" //ficc部门经理
	ROLE_TYPE_CODE_RAI_DEPARTMENT  = "rai_department"  //权益部门经理
	ROLE_TYPE_CODE_FICC_RESEARCHR  = "ficc_researcher" //ficc研究员
	ROLE_TYPE_CODE_RESEARCHR       = "researcher"      //ficc研究员（最早定义的）
	ROLE_TYPE_CODE_RAI_RESEARCHR   = "rai_researcher"  //权益研究员
	ROLE_TYPE_CODE_COMPLIANCE      = "compliance"      //合规角色
	ROLE_TYPE_CODE_FINANCE         = "finance"         //财务角色
	ROLE_TYPE_CODE_FICC_TEAM       = "ficc_team"       //ficc销售组长
)

const (
	COMPANY_PRODUCT_FICC_ID   = 1
	COMPANY_PRODUCT_FICC_NAME = "ficc"
	COMPANY_PRODUCT_RAI_ID    = 2
	COMPANY_PRODUCT_RAI_NAME  = "权益"
)

// 系统来源
const (
	SOURCE_CRM_FLAG = 1
	SOURCE_ETA_FLAG = 2
)

// 同步角色和用户的缓存队列key
const (
	CACHE_SYNC_ADMIN        = "hz_crm_eta:sync_admin"
	CACHE_SYNC_ROLE         = "hz_crm_eta:sync_role"
	CACHE_SYNC_DEPARTMENT   = "hz_crm_eta:sync_department"
	CACHE_SYNC_GROUP        = "hz_crm_eta:sync_group"
	CACHE_SYNC_USER_EN_ROLE = "hz_crm_eta:sync_user_en_role" // 同步用户英文权限角色缓存队列key
)

const CrmEtaAuthorization = "NIi1RbEmH0C2rksXtPGDPBBgRgTZY87Q"

// 自用商户号
const (
	BusinessCodeSandbox = "E2023080700" // ETA体验版
	BusinessCodeRelease = "E2023080900" // 弘则ETA
)

const CACHE_MYSQL_MASTER_FILENAME = "eta:mysql:binlog:filename"
const CACHE_MYSQL_MASTER_POSITION = "eta:mysql:binlog:position"
